The present disclosure describes systems and techniques relating to balancing caching load in peer-to-peer based network file systems.
A server system can export one or more file systems over a network to client systems. The server system can include one or more data storage devices such as a hard disk drive (HDD) or a solid state drive (SSD). Various examples of a server system include a Network Attached Storage (NAS) device and a server configured to service a network file system (NFS). The server servicing the NFS can be referred to as a NFS server. NFS servers are frequently used in data centers for data access and sharing data among clients.
Multiple client systems can mount a NFS exported by a NFS server. A client system can run a NFS client to connect with one or more NFS servers to mount one or more NFSs. An operating system can provide access to local and network file systems to one or more applications such as a web server, e-mail server, database, or an operating system process. For example, an operating system can access one or more system files on a NFS. Typically, an application is agnostic regarding whether a file system is a network file system or a local file system.